﻿#ifndef FITK_RADIOSS_SURFACE_PART_H
#define FITK_RADIOSS_SURFACE_PART_H

#include "FITKAbstractRadiossSurface.h"

namespace Radioss
{
    class FITKRadiossDataAPI FITKRadiossSurfacePart : public FITKAbstractRadiossSurface
    {
        Q_OBJECT
        FITKCLASS(Radioss, FITKRadiossSurfacePart)
        RadiossKeyWord(FITKRadiossSurfacePart, /SURF/PART)

    public:
        explicit FITKRadiossSurfacePart() = default;
        virtual ~FITKRadiossSurfacePart() = default;

        virtual FITKAbstractRadiossSurface::RadiossSurfaceType getRadiossSurfaceType() override;
    };

    class FITKRadiossDataAPI FITKRadiossSurfacePartAll : public FITKRadiossSurfacePart
    {
        FITKCLASS(Radioss, FITKRadiossSurfacePartAll)
        RadiossKeyWord(FITKRadiossSurfacePartAll, /SURF/PART/ALL)
    public:
        explicit FITKRadiossSurfacePartAll() = default;
        virtual ~FITKRadiossSurfacePartAll() = default;
        virtual FITKAbstractRadiossSurface::RadiossSurfaceType getRadiossSurfaceType() override;
    };
    
    class FITKRadiossDataAPI FITKRadiossSurfacePartExt : public FITKRadiossSurfacePart
    {
        FITKCLASS(Radioss, FITKRadiossSurfacePartExt)
        RadiossKeyWord(FITKRadiossSurfacePartExt, /SURF/PART/EXT)
    public:
        explicit FITKRadiossSurfacePartExt() = default;
        virtual ~FITKRadiossSurfacePartExt() = default;
        virtual FITKAbstractRadiossSurface::RadiossSurfaceType getRadiossSurfaceType() override;
    };
    





} // namespace Radios

#endif // FITK_RADIOSS_SURFACE_PART_H